Add _gtk_check_menu_item_set_active() internal function
authorJavier Jardón <jjardon@gnome.org>
Thu, 15 Jul 2010 14:49:45 +0000 (16:49 +0200)
committerJavier Jardón <jjardon@gnome.org>
Mon, 19 Jul 2010 14:08:07 +0000 (16:08 +0200)
It's needed by gtkradiomenuitem

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=624432

gtk/gtkcheckmenuitem.c
gtk/gtkcheckmenuitem.h
gtk/gtkradiomenuitem.c

index 32bebf7e3969ce5a69335fb78a9216a17fb13aee..55aa8f4873901dfc4ef8fdd9c770d944330ca739 100644 (file)
@@ -586,3 +586,23 @@ gtk_check_menu_item_set_property (GObject      *object,
       break;
     }
 }
+
+
+/* Private */
+
+/*
+ * _gtk_check_menu_item_set_active:
+ * @check_menu_item: a #GtkCheckMenuItem
+ * @is_active: whether the action is active or not
+ *
+ * Sets the #GtkCheckMenuItem:active property directly. This function does
+ * not emit signals or notifications: it is left to the caller to do so.
+ */
+void
+_gtk_check_menu_item_set_active (GtkCheckMenuItem *check_menu_item,
+                                 gboolean          is_active)
+{
+  GtkCheckMenuItemPriv *priv = check_menu_item->priv;
+
+  priv->active = is_active;
+}
index 3b536e0d984b33753813d4ce5401ea7336ee420f..e76ba5e08158ffd0650dd0d2c9a1098e288b7bd4 100644 (file)
@@ -90,6 +90,11 @@ void       gtk_check_menu_item_set_draw_as_radio (GtkCheckMenuItem *check_menu_i
 gboolean   gtk_check_menu_item_get_draw_as_radio (GtkCheckMenuItem *check_menu_item);
 
 
+/* private */
+void       _gtk_check_menu_item_set_active       (GtkCheckMenuItem *check_menu_item,
+                                                  gboolean          is_active);
+
+
 G_END_DECLS
 
 #endif /* __GTK_CHECK_MENU_ITEM_H__ */
index 5d2745e42a725be65c4edcd505cde5ee050513f8..abf7a4c02882ebd06f18f0042f182577c9bfd3a7 100644 (file)
@@ -164,7 +164,7 @@ gtk_radio_menu_item_set_group (GtkRadioMenuItem *radio_menu_item,
     }
   else
     {
-      gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE);
+      _gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (radio_menu_item), TRUE);
       /* gtk_widget_set_state (GTK_WIDGET (radio_menu_item), GTK_STATE_ACTIVE);
        */
     }
@@ -480,13 +480,13 @@ gtk_radio_menu_item_activate (GtkMenuItem *menu_item)
       if (tmp_menu_item)
        {
          toggled = TRUE;
-          gtk_check_menu_item_set_active (check_menu_item, !active);
+          _gtk_check_menu_item_set_active (check_menu_item, !active);
        }
     }
   else
     {
       toggled = TRUE;
-      gtk_check_menu_item_set_active (check_menu_item, !active);
+      _gtk_check_menu_item_set_active (check_menu_item, !active);
 
       tmp_list = priv->group;
       while (tmp_list)